#pragma once

[
    object,
    uuid("0E1E1782-40FA-479d-B0D0-7B7BFF5E2917"),
    pointer_default(unique)
]
__interface IxEventObserver : IUnknown
{
    HRESULT OnEvent(INT nEventId, INT nId, IUnknown* pSelf, VOID* pData, LPBOOL pbCallNext);
};

SINK_BEGIN(CxEventObserver)
    SINK_FUNC(OnEvent, (INT, INT, IUnknown*, VOID*, LPBOOL), (nEventId, nId, pSelf, pData, pbCallNext))
SINK_END()

SINK_PTR(CxEventObserver, IxEventObserver)